package com.naiterui.ehp.bs.b2c.order.service;

import java.util.Set;

import com.naiterui.ehp.bp.bo.b2c.order.RefundOrderBO;
import com.naiterui.ehp.bp.bo.payment.NotifyBusinessRefundBO;
import com.naiterui.ehp.bp.support.exception.BusinessException;
import com.naiterui.ehp.bs.b2c.order.exception.OrderBusinessException;

public interface IRefundOrderService {

    /**
     * 保存更新
     */
    void update(RefundOrderBO refundOrderBO, Integer submit, String operator) throws OrderBusinessException;

    /**
     * 删除
     */
    void del(Long refundOrderId, String operator) throws OrderBusinessException;

    /**
     * 审核
     */
    void audit(Set<Long> refundOrderIds, String operator) throws OrderBusinessException;

    /**
     * 提交
     */
    void submit(Set<Long> refundOrderIds, String operator) throws OrderBusinessException;

    /**
     * 反审核
     */
    void reverseAudit(Set<Long> refundOrderIds, String operator) throws OrderBusinessException;

    /**
     * 确认付款
     */
    void pay(Set<Long> refundOrderIds, String operator) throws OrderBusinessException;

    /**
     * 作废
     */
    void invalid(Set<Long> refundOrderIds, String operator);

    /**
     * 退款通知
     */
    void notifyOrderRefundStatus(NotifyBusinessRefundBO request) throws BusinessException;

}
